package com.kalvan.swagger.dubbo.reader;

import io.swagger.models.Swagger;
import io.swagger.models.parameters.Parameter;
import lombok.*;

import java.util.List;

/**
 * The <code>ReaderContext</code> class is wrapper for the <code>Reader</code>
 * parameters.
 *
 * @author chenliang
 */
@Getter
@Setter
public class ReaderContext {

    private Swagger swagger;
    private Class<?> refCls;
    private Class<?> interfaceCls;
    private String parentPath;
    private String parentHttpMethod;
    private boolean readHidden;
    private List<String> parentConsumes;
    private List<String> parentProduces;
    private List<String> parentTags;
    private List<Parameter> parentParameters;

    public ReaderContext(Swagger swagger, Class<?> refCls, Class<?> interfaceCls, String parentPath,
                         String parentHttpMethod, boolean readHidden, List<String> parentConsumes,
                         List<String> parentProduces, List<String> parentTags,
                         List<Parameter> parentParameters) {
        setSwagger(swagger);
        setRefCls(refCls);
        setInterfaceCls(interfaceCls);
        setParentPath(parentPath);
        setParentHttpMethod(parentHttpMethod);
        setReadHidden(readHidden);
        setParentConsumes(parentConsumes);
        setParentProduces(parentProduces);
        setParentTags(parentTags);
        setParentParameters(parentParameters);
    }


}
